package part2;

public class Main {
    public static void main(String[] args) {
        Teacher target = new Teacher(); // 目标对象
        // 给目标对象创建代理对象
        ITeacherDao proxyInstance = (ITeacherDao) new ProxyFactory(target).getProxyInstance();
        // proxyInstance=class com.sun.proxy.$Proxy0内存中动态生成了代理对象
        System.out.println("proxyInstance=" + proxyInstance.getClass());
        // 通过代理对象调用目标方法
        proxyInstance.teach();
        proxyInstance.sayHello("Mike"); // 这样子就算是增加方法也不会修改代理对象
    }
}
